﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace Adaptive.Foundation.CodeDom.Native
{
    [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), ComVisible(true), Guid("11138F8A-38C0-4436-B5A6-2F5EF2C3E242")]
    internal interface IVsWindowFrame
    {
        [PreserveSig]
        int Show();
        [PreserveSig]
        int Hide();
        [PreserveSig]
        int IsVisible();
        [PreserveSig]
        int ShowNoActivate();
        [PreserveSig]
        int CloseFrame(int grfSaveOptions);
        [PreserveSig]
        int SetFramePos(int dwSFP, ref Guid rguidRelativeTo, int x, int y, int cx, int cy);
        [PreserveSig]
        int GetFramePos([Out, MarshalAs(UnmanagedType.LPArray)] int[] pdwSFP, out Guid pguidRelativeTo, out int px, out int py, out int pcx, out int pcy);
        object GetProperty(int PropId);
        [PreserveSig]
        int SetProperty(int _PropId, [MarshalAs(UnmanagedType.Struct)] object _obj);
        [PreserveSig]
        int GetGuidProperty(int PropId, ref Guid propertyGuid);
        [PreserveSig]
        int SetGuidProperty(int PropId, Guid rguid);
    }
}